// js 自有问题
// 类型安全
//   强类型  不允许随意的隐式转化 强的类型约束   
//   弱类型  隐式转化

// 类型检查
//   静态类型
//   动态类型 运行时才可以确定数值的类型 不允许随意修改类型


// js 丢失了类型的可靠性
// 脚本语言 不需要编译
// 开发大型应用是短板


// 弱类型问题
// 运行阶段才能发现问题
// 约定没办法保证
// 函数变质  
